/*
 * @Description: Description
 * @Autor: Chen
 * @Date: 2020-07-29 11:51:41
 * @LastEditors: chen
 * @LastEditTime: 2020-07-29 13:57:56
 */
import { Injectable } from '@angular/core';
import { ServicesModule } from './services.module';
import { HttpClient, HttpParams } from '@angular/common/http';
import { AnyJson } from './data-types/common.type';
import { map, Observable } from 'rxjs';

@Injectable({
  providedIn: ServicesModule,
})
export class FileService {
  constructor(private http: HttpClient) {}

  getFileList(params: AnyJson, body: AnyJson): Observable<AnyJson> {
    return this.http
      .post('/file/fileMsgSearch', body, { params })
      .pipe(map((res) => res as AnyJson));
  }
  getFile(params: AnyJson): Observable<AnyJson> {
    return this.http
      .get('/file/fileMsgSearchOne', { params })
      .pipe(map((res) => res as AnyJson));
  }

  addFile(body: AnyJson): Observable<AnyJson> {
    return this.http
      .post('/file/fileMsgInsert', body)
      .pipe(map((res) => res as AnyJson));
  }

  delFile(params: AnyJson): Observable<AnyJson> {
    return this.http
      .get('/file/fileMsgDel', { params })
      .pipe(map((res) => res as AnyJson));
  }
  updateFile(body: AnyJson): Observable<AnyJson> {
    return this.http
      .post('/file/fileMsgUpdate', body)
      .pipe(map((res) => res as AnyJson));
  }
  clearSortFile(params: AnyJson): Observable<AnyJson> {
    return this.http
      .get('/file/fileSortClear', { params })
      .pipe(map((res) => res as AnyJson));
  }
}
